package controlador;


import vista.*;
import modelo.sonidos.Sonidos;
import modelo.*;

public class Controlador {
	
	private Vista vista;
	private Ingresar ingresar;
	private Despachar despachar;
	private Solicitudes solicitudes;
	private Stock stock;
	private Ventas ventas;
	private Sonidos sonidos;
	private Item item;
	private ItemPendiente itemPendiente;
	private Modelo modelo;
	private Conexion conexion;
	private ItemCtrl itemCtrl;
	private IngresarCtrl ingresarCtrl;
	private DespacharCtrl despacharCtrl;
	private ItemPendienteCtrl itemPendienteCtrl;
	private Compras compras;
	
	

	////////////////////////////////////
	//Setter and Getters Ctrl
	public ItemCtrl getItemCtrl() {
		return itemCtrl;
	}
	public void setItemCtrl(ItemCtrl itemCtrl) {
		this.itemCtrl = itemCtrl;
	}
	public IngresarCtrl getIngresarCtrl() {
		return ingresarCtrl;
	}
	public void setIngresarCtrl(IngresarCtrl ingresarCtrl) {
		this.ingresarCtrl = ingresarCtrl;
	}
	public DespacharCtrl getDespacharCtrl() {
		return despacharCtrl;
	}
	public void setDespacharCtrl(DespacharCtrl despacharCtrl) {
		this.despacharCtrl = despacharCtrl;
	}
	public ItemPendienteCtrl getItemPendienteCtrl() {
		return itemPendienteCtrl;
	}
	public void setItemPendienteCtrl(ItemPendienteCtrl itemPendienteCtrl) {
		this.itemPendienteCtrl = itemPendienteCtrl;
	}
	

	/////////////////////////////////////////
	//Setter and Getters de las vistas

	public Compras getCompras() {
		return compras;
	}
	public void setCompras(Compras compras) {
		this.compras = compras;
	}
	public Vista getVista() {
		return vista;
	}
	public void setVista(Vista vista) {
		this.vista = vista;
	}
	public Ingresar getIngresar() {
		return ingresar;
	}
	public void setIngresar(Ingresar ingresar) {
		this.ingresar = ingresar;
	}
	public Despachar getDespachar() {
		return despachar;
	}	
	public void setDespachar(Despachar despachar) {
		this.despachar = despachar;
	}
	public Solicitudes getSolicitudes() {
		return solicitudes;
	}
	public void setSolicitudes(Solicitudes solicitudes) {
		this.solicitudes = solicitudes;
	}
	public Stock getStock() {
		return stock;
	}
	public void setStock(Stock stock) {
		this.stock = stock;
	}
	public Ventas getVentas() {
		return ventas;
	}
	public void setVentas(Ventas ventas) {
		this.ventas = ventas;
	}	
	public Sonidos getSonidos() {
		return sonidos;
	}
	public void setSonidos(Sonidos sonidos) {
		this.sonidos = sonidos;
	}	
	public Item getItem() {
		return item;
	}
	public void setItem(Item item) {
		this.item = item;
	}	
	public ItemPendiente getItemPendiente() {
		return itemPendiente;
	}
	public void setItemPendiente(ItemPendiente itemPendiente) {
		this.itemPendiente = itemPendiente;
	}	
	public Modelo getModelo() {
		return modelo;
	}
	public void setModelo(Modelo modelo) {
		this.modelo = modelo;
	}	
	public Conexion getConexion() {
		return conexion;
	}
	public void setConexion(Conexion conexion) {
		this.conexion = conexion;
	}
	/////////////////////////////////////////
	//Metodos para mostrar vistas	
	public void mostrarVentanaIngresar() {
		sonidos.playAudioB();
		ingresar.setVisible(true);
	}
	public void mostrarVentanaDespachar(){
		sonidos.playAudioB();
		despachar.setVisible(true);
	}
	public void mostrarVentanaVentas() {
		sonidos.playAudioB();
		ventas.setVisible(true);		
	}
	public void mostrarVentanaSolicitudes() {
		sonidos.playAudioB();
		solicitudes.setVisible(true);		
	}
	public void mostrarVentanaStock() {
		sonidos.playAudioB();
		stock.setVisible(true);
	}
	public void mostrarVentanaItem() {
		sonidos.playAudioB();
		item.setVisible(true);		
	}
	public void mostrarVentanaItemPendiente(){
		sonidos.playAudioB();
		itemPendiente.setVisible(true);
	}
	public void mostrarVentanaCompras(){
		sonidos.playAudioB();
		compras.setVisible(true);
	}
	
	//////////////////////////////////////////
	//Metodos para Ocultar ventanas
	public void ocultarVentanaIngresar() {
		ingresar.setVisible(false);		
	}
	public void ocultarVentanaItem() {
		item.setVisible(false);		
	}
	public void ocultarVentanaSolicitudes() {
		solicitudes.setVisible(false);		
	}
	public void ocultarVentanaStock() {
		stock.setVisible(false);		
	}
	public void ocultarVentanaVentas() {
		ventas.setVisible(false);		
	}
	public void ocultarVentanaDespachar() {
		despachar.setVisible(false);		
	}
	public void ocultarVentanaItemPendiente() {
		itemPendiente.setVisible(false);		
	}
	public void ocultarVentanaCompras(){
		compras.setVisible(false);
	}
	
	
	public void mostrarItemConStock() {
		this.getStock().actualizarTabla(modelo.buscarItemConStock());		
	}
	public void agregarCompra(String descrip, String costo, String centroCos) {
		modelo.ingresarCompra(descrip, costo, centroCos);
		
	}
	public void actualizarTablaCompras() {
		compras.actualizarTabla(modelo.actualizarTablaCompra());
		
	}

		
}
